﻿using Entity.Models.dto;
using Entity.Models.Entities;
using Entity.Models.vo;
using Entity.Models.vo.Menu;
using System;
using System.Collections.Generic;
using System.Text;

namespace IBLL
{
    /// <summary>
    /// 菜单BLL接口
    /// </summary>
    public interface IMenuInfoBLL
    {
        /// <summary>
        /// 获取首页菜单列表
        /// </summary>
        /// <returns></returns>
        public MenuInfoVo getMenuList(string userId);

        /// <summary>
        /// 添加菜单
        /// </summary>
        /// <param name="menuInfo"></param>
        /// <returns></returns>
        bool AddMenuInfo(MenuInfo menuInfo);

        /// <summary>
        /// 删除菜单
        /// </summary>
        /// <param name="menuInfoId"></param>
        /// <returns></returns>
        bool DalateMenuInfo(string menuInfoId);

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="menuInfoIds">菜单id</param>
        /// <returns></returns>
        bool DalateMenuInfoList(List<String> menuInfoIds);

        /// <summary>
        /// 修改菜单信息
        /// </summary>
        /// <param name="menuInfo"></param>
        /// <returns></returns>
        bool UpdataMenuInfo(MenuInfo menuInfo);

        /// <summary>
        /// 根据菜单id搜索
        /// </summary>
        /// <param name="menuInfoid">菜单id</param>
        /// <returns></returns>
        MenuInfo getByMenuInfo(string menuInfoid);

        /// <summary>
        /// 获取菜单下拉选数据
        /// </summary>
        /// <returns></returns>
        List<TransferVo> getMenuInfoSpinner();

        /// <summary>
        /// 菜单数据列表(首页菜单)
        /// </summary>
        /// <param name="userId">菜单名称</param>
        /// <returns></returns>
        List<MenuTreetableVo> getMenuTreetab(string userId);


    }
}
